package cn.gcyl.module.biz.controller.admin.platforminformation.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;

@Schema(description = "管理后台 - 平台信息新增/修改 Request VO")
@Data
public class PlatformInformationSaveReqVO {

    @Schema(description = "信息id", requiredMode = Schema.RequiredMode.REQUIRED, example = "10751")
    private Long id;

    @Schema(description = "标题类型(0项目采购商机 1项目分包商机 2集中招募商机)", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @NotNull(message = "标题类型(0项目采购商机 1项目分包商机 2集中招募商机)不能为空")
    private String titleType;

    @Schema(description = "标题", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "标题不能为空")
    private String title;

    @Schema(description = "采购公司", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "采购公司不能为空")
    private String purchasingCompany;

    @Schema(description = "显示顺序", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "显示顺序不能为空")
    private Integer sort;

    @Schema(description = "浏览人数", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer visitors;

    @Schema(description = "收藏人数", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer collectors;

    @Schema(description = "分享人数", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer shares;

    @Schema(description = "咨询人数", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer inquiries;

    @Schema(description = "状态（0正常 1停用）", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    private Integer status;

    @Schema(description = "咨询电话", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "咨询电话不能为空")
    private String phone;
    @Schema(description = "地区", requiredMode = Schema.RequiredMode.REQUIRED)
    private String area;

    @Schema(description = "信息类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    private String informationType;

    @Schema(description = "开始时间", requiredMode = Schema.RequiredMode.REQUIRED)
    private LocalDateTime startTime;

    @Schema(description = "结束时间", requiredMode = Schema.RequiredMode.REQUIRED)
    private LocalDateTime endTime;

    @Schema(description = "需求标签")
    private String requirementLabel;

    @Schema(description = "详情", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "详情不能为空")
    private String details;

    /**
     * 是否收藏(0未收藏 1已收藏)
     */
    private Integer isCollect;
}